home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / QD3DViewer.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  13.7 KB  |  469 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        QD3DViewer.a
  3. ;
  4. ;    Contains:    MacOS Viewer Controller Interface File.                                
  5. ;
  6. ;    Version:    Technology:    Quickdraw 3D 1.5.4
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__QD3DVIEWER__') = 'UNDEFINED' THEN
  19. __QD3DVIEWER__ SET 1
  20.  
  21.     IF &TYPE('__QD3D__') = 'UNDEFINED' THEN
  22.     include 'QD3D.a'
  23.     ENDIF
  24.     IF &TYPE('__QD3DGROUP__') = 'UNDEFINED' THEN
  25.     include 'QD3DGroup.a'
  26.     ENDIF
  27.  
  28.     IF TARGET_OS_MAC THEN
  29.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  30.     include 'Events.a'
  31.     ENDIF
  32.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  33.     include 'MacTypes.a'
  34.     ENDIF
  35.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  36.     include 'Quickdraw.a'
  37.     ENDIF
  38.     ENDIF    ; TARGET_OS_MAC
  39.     IF TARGET_OS_MAC THEN
  40. ; typedef void *                        TQ3ViewerObject
  41.  
  42.  
  43. kQ3ViewerShowBadge                EQU        $01
  44. kQ3ViewerActive                    EQU        $02
  45. kQ3ViewerControllerVisible        EQU        $04
  46. kQ3ViewerDrawFrame                EQU        $08
  47. kQ3ViewerDraggingOff            EQU        $10
  48. kQ3ViewerButtonCamera            EQU        $20
  49. kQ3ViewerButtonTruck            EQU        $40
  50. kQ3ViewerButtonOrbit            EQU        $80
  51. kQ3ViewerButtonZoom                EQU        $0100
  52. kQ3ViewerButtonDolly            EQU        $0200
  53. kQ3ViewerButtonReset            EQU        $0400
  54. kQ3ViewerOutputTextMode            EQU        $0800
  55. kQ3ViewerDragMode                EQU        $1000
  56. kQ3ViewerDrawGrowBox            EQU        $2000
  57. kQ3ViewerDrawDragBorder            EQU        $4000
  58. kQ3ViewerDraggingInOff            EQU        $8000
  59. kQ3ViewerDraggingOutOff            EQU        $00010000
  60. kQ3ViewerDefault                EQU        $80000000
  61.  
  62. kQ3ViewerEmpty                    EQU        0
  63. kQ3ViewerHasModel                EQU        $01
  64. kQ3ViewerHasUndo                EQU        $02
  65.  
  66. ; typedef long                            TQ3ViewerCameraView
  67. kQ3ViewerCameraRestore            EQU        0
  68. kQ3ViewerCameraFit                EQU        1
  69. kQ3ViewerCameraFront            EQU        2
  70. kQ3ViewerCameraBack                EQU        3
  71. kQ3ViewerCameraLeft                EQU        4
  72. kQ3ViewerCameraRight            EQU        5
  73. kQ3ViewerCameraTop                EQU        6
  74. kQ3ViewerCameraBottom            EQU        7
  75.  
  76. ; ******************************************************************************
  77. ; **                                                                             **
  78. ; **        Return viewer version number                                         **
  79. ; **                                                                             **
  80. ; ****************************************************************************
  81.  
  82. ;
  83. ; extern OSErr Q3ViewerGetVersion(unsigned long *majorRevision, unsigned long *minorRevision)
  84. ;
  85.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  86.         IMPORT_CFM_FUNCTION Q3ViewerGetVersion
  87.     ENDIF
  88.  
  89.  
  90.  
  91. ; ******************************************************************************
  92. ; **                                                                             **
  93. ; **        Return viewer release version number                                 **
  94. ; **        (in 'vers' format - e.g. 0x01518000 ==> 1.5.1 release)                 **
  95. ; **                                                                             **
  96. ; ****************************************************************************
  97.  
  98. ;
  99. ; extern OSErr Q3ViewerGetReleaseVersion(unsigned long *releaseRevision)
  100. ;
  101.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  102.         IMPORT_CFM_FUNCTION Q3ViewerGetReleaseVersion
  103.     ENDIF
  104.  
  105.  
  106. ; ******************************************************************************
  107. ; **                                                                             **
  108. ; **                        Creation and destruction                             **
  109. ; **                Note that this is not a QuickDraw 3D object                     **
  110. ; **                                                                             **
  111. ; ****************************************************************************
  112.  
  113. ;
  114. ; extern TQ3ViewerObject Q3ViewerNew(CGrafPtr port, Rect *rect, unsigned long flags)
  115. ;
  116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  117.         IMPORT_CFM_FUNCTION Q3ViewerNew
  118.     ENDIF
  119.  
  120. ;
  121. ; extern OSErr Q3ViewerDispose(TQ3ViewerObject theViewer)
  122. ;
  123.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  124.         IMPORT_CFM_FUNCTION Q3ViewerDispose
  125.     ENDIF
  126.  
  127. ; ******************************************************************************
  128. ; **                                                                             **
  129. ; **                    Functions to attach data to a viewer                     **
  130. ; **                                                                             **
  131. ; ****************************************************************************
  132.  
  133. ;
  134. ; extern OSErr Q3ViewerUseFile(TQ3ViewerObject theViewer, long refNum)
  135. ;
  136.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  137.         IMPORT_CFM_FUNCTION Q3ViewerUseFile
  138.     ENDIF
  139.  
  140. ;
  141. ; extern OSErr Q3ViewerUseData(TQ3ViewerObject theViewer, void *data, long size)
  142. ;
  143.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  144.         IMPORT_CFM_FUNCTION Q3ViewerUseData
  145.     ENDIF
  146.  
  147. ; ******************************************************************************
  148. ; **                                                                             **
  149. ; **        Functions to write data out from the Viewer                             **
  150. ; **                                                                             **
  151. ; ****************************************************************************
  152.  
  153. ;
  154. ; extern OSErr Q3ViewerWriteFile(TQ3ViewerObject theViewer, long refNum)
  155. ;
  156.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  157.         IMPORT_CFM_FUNCTION Q3ViewerWriteFile
  158.     ENDIF
  159.  
  160. ;
  161. ; extern unsigned long Q3ViewerWriteData(TQ3ViewerObject theViewer, Handle data)
  162. ;
  163.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  164.         IMPORT_CFM_FUNCTION Q3ViewerWriteData
  165.     ENDIF
  166.  
  167. ; ******************************************************************************
  168. ; **                                                                             **
  169. ; **        Use this function to force the Viewer to re-draw                     **
  170. ; **                                                                             **
  171. ; ****************************************************************************
  172.  
  173. ;
  174. ; extern OSErr Q3ViewerDraw(TQ3ViewerObject theViewer)
  175. ;
  176.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  177.         IMPORT_CFM_FUNCTION Q3ViewerDraw
  178.     ENDIF
  179.  
  180. ;
  181. ; extern OSErr Q3ViewerDrawContent(TQ3ViewerObject theViewer)
  182. ;
  183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  184.         IMPORT_CFM_FUNCTION Q3ViewerDrawContent
  185.     ENDIF
  186.  
  187. ;
  188. ; extern OSErr Q3ViewerDrawControlStrip(TQ3ViewerObject theViewer)
  189. ;
  190.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  191.         IMPORT_CFM_FUNCTION Q3ViewerDrawControlStrip
  192.     ENDIF
  193.  
  194. ; ******************************************************************************
  195. ; **                                                                             **
  196. ; **        Function used by the Viewer to filter and handle events                 **
  197. ; **                                                                             **
  198. ; ****************************************************************************
  199.  
  200. ;
  201. ; extern Boolean Q3ViewerEvent(TQ3ViewerObject theViewer, EventRecord *evt)
  202. ;
  203.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  204.         IMPORT_CFM_FUNCTION Q3ViewerEvent
  205.     ENDIF
  206.  
  207. ; ******************************************************************************
  208. ; **                                                                             **
  209. ; **        This function returns a PICT of the contents of the                  **
  210. ; **        Viewer's window.  The application should dispose the PICT.             **
  211. ; **                                                                             **
  212. ; ****************************************************************************
  213.  
  214. ;
  215. ; extern PicHandle Q3ViewerGetPict(TQ3ViewerObject theViewer)
  216. ;
  217.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  218.         IMPORT_CFM_FUNCTION Q3ViewerGetPict
  219.     ENDIF
  220.  
  221. ; ******************************************************************************
  222. ; **                                                                             **
  223. ; **                        Calls for dealing with Buttons                         **
  224. ; **                                                                             **
  225. ; ****************************************************************************
  226.  
  227. ;
  228. ; extern OSErr Q3ViewerGetButtonRect(TQ3ViewerObject theViewer, unsigned long button, Rect *rect)
  229. ;
  230.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  231.         IMPORT_CFM_FUNCTION Q3ViewerGetButtonRect
  232.     ENDIF
  233.  
  234. ;
  235. ; extern unsigned long Q3ViewerGetCurrentButton(TQ3ViewerObject theViewer)
  236. ;
  237.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  238.         IMPORT_CFM_FUNCTION Q3ViewerGetCurrentButton
  239.     ENDIF
  240.  
  241. ;
  242. ; extern OSErr Q3ViewerSetCurrentButton(TQ3ViewerObject theViewer, unsigned long button)
  243. ;
  244.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  245.         IMPORT_CFM_FUNCTION Q3ViewerSetCurrentButton
  246.     ENDIF
  247.  
  248. ; ******************************************************************************
  249. ; **                                                                             **
  250. ; **        Functions to set/get the group to be displayed by the Viewer.         **
  251. ; **                                                                             **
  252. ; ****************************************************************************
  253.  
  254. ;
  255. ; extern OSErr Q3ViewerUseGroup(TQ3ViewerObject theViewer, TQ3GroupObject group)
  256. ;
  257.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  258.         IMPORT_CFM_FUNCTION Q3ViewerUseGroup
  259.     ENDIF
  260.  
  261. ;
  262. ; extern TQ3GroupObject Q3ViewerGetGroup(TQ3ViewerObject theViewer)
  263. ;
  264.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  265.         IMPORT_CFM_FUNCTION Q3ViewerGetGroup
  266.     ENDIF
  267.  
  268. ; ******************************************************************************
  269. ; **                                                                             **
  270. ; **        Functions to set/get the color used to clear the window                 **
  271. ; **                                                                             **
  272. ; ****************************************************************************
  273.  
  274. ;
  275. ; extern OSErr Q3ViewerSetBackgroundColor(TQ3ViewerObject theViewer, TQ3ColorARGB *color)
  276. ;
  277.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  278.         IMPORT_CFM_FUNCTION Q3ViewerSetBackgroundColor
  279.     ENDIF
  280.  
  281. ;
  282. ; extern OSErr Q3ViewerGetBackgroundColor(TQ3ViewerObject theViewer, TQ3ColorARGB *color)
  283. ;
  284.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  285.         IMPORT_CFM_FUNCTION Q3ViewerGetBackgroundColor
  286.     ENDIF
  287.  
  288. ; ******************************************************************************
  289. ; **                                                                             **
  290. ; **        Getting/Setting a Viewer's View object.  Disposal is needed.         **
  291. ; **                                                                             **
  292. ; ****************************************************************************
  293.  
  294. ;
  295. ; extern TQ3ViewObject Q3ViewerGetView(TQ3ViewerObject theViewer)
  296. ;
  297.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  298.         IMPORT_CFM_FUNCTION Q3ViewerGetView
  299.     ENDIF
  300.  
  301. ;
  302. ; extern OSErr Q3ViewerRestoreView(TQ3ViewerObject theViewer)
  303. ;
  304.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  305.         IMPORT_CFM_FUNCTION Q3ViewerRestoreView
  306.     ENDIF
  307.  
  308. ; ******************************************************************************
  309. ; **                                                                             **
  310. ; **        Calls for setting/getting viewer flags                                 **
  311. ; **                                                                             **
  312. ; ****************************************************************************
  313.  
  314. ;
  315. ; extern OSErr Q3ViewerSetFlags(TQ3ViewerObject theViewer, unsigned long flags)
  316. ;
  317.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  318.         IMPORT_CFM_FUNCTION Q3ViewerSetFlags
  319.     ENDIF
  320.  
  321. ;
  322. ; extern unsigned long Q3ViewerGetFlags(TQ3ViewerObject theViewer)
  323. ;
  324.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  325.         IMPORT_CFM_FUNCTION Q3ViewerGetFlags
  326.     ENDIF
  327.  
  328. ; ******************************************************************************
  329. ; **                                                                             **
  330. ; **        Calls related to bounds/dimensions.  Bounds is the size of              **
  331. ; **        the window.  Dimensions can either be the Rect from the ViewHints     **
  332. ; **        or the current dimensions of the window (if you do a Set).             **
  333. ; **                                                                             **
  334. ; ****************************************************************************
  335.  
  336. ;
  337. ; extern OSErr Q3ViewerSetBounds(TQ3ViewerObject theViewer, Rect *bounds)
  338. ;
  339.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  340.         IMPORT_CFM_FUNCTION Q3ViewerSetBounds
  341.     ENDIF
  342.  
  343. ;
  344. ; extern OSErr Q3ViewerGetBounds(TQ3ViewerObject theViewer, Rect *bounds)
  345. ;
  346.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  347.         IMPORT_CFM_FUNCTION Q3ViewerGetBounds
  348.     ENDIF
  349.  
  350. ;
  351. ; extern OSErr Q3ViewerSetDimension(TQ3ViewerObject theViewer, unsigned long width, unsigned long height)
  352. ;
  353.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  354.         IMPORT_CFM_FUNCTION Q3ViewerSetDimension
  355.     ENDIF
  356.  
  357. ;
  358. ; extern OSErr Q3ViewerGetDimension(TQ3ViewerObject theViewer, unsigned long *width, unsigned long *height)
  359. ;
  360.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  361.         IMPORT_CFM_FUNCTION Q3ViewerGetDimension
  362.     ENDIF
  363.  
  364. ;  1.1 
  365. ;
  366. ; extern OSErr Q3ViewerGetMinimumDimension(TQ3ViewerObject theViewer, unsigned long *width, unsigned long *height)
  367. ;
  368.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  369.         IMPORT_CFM_FUNCTION Q3ViewerGetMinimumDimension
  370.     ENDIF
  371.  
  372. ; ******************************************************************************
  373. ; **                                                                             **
  374. ; **                            Port related calls                                 **
  375. ; **                                                                             **
  376. ; ****************************************************************************
  377.  
  378. ;
  379. ; extern OSErr Q3ViewerSetPort(TQ3ViewerObject theViewer, CGrafPtr port)
  380. ;
  381.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  382.         IMPORT_CFM_FUNCTION Q3ViewerSetPort
  383.     ENDIF
  384.  
  385. ;
  386. ; extern CGrafPtr Q3ViewerGetPort(TQ3ViewerObject theViewer)
  387. ;
  388.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  389.         IMPORT_CFM_FUNCTION Q3ViewerGetPort
  390.     ENDIF
  391.  
  392. ; ******************************************************************************
  393. ; **                                                                             **
  394. ; **        Adjust Cursor should be called from idle loop to allow the Viewer     **
  395. ; **        to change the cursor according to the cursor position/object under     **
  396. ; **        the cursor.                                                             **
  397. ; **                                                                             **
  398. ; ****************************************************************************
  399.  
  400. ;
  401. ; extern Boolean Q3ViewerAdjustCursor(TQ3ViewerObject theViewer, Point *pt)
  402. ;
  403.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  404.         IMPORT_CFM_FUNCTION Q3ViewerAdjustCursor
  405.     ENDIF
  406.  
  407. ;
  408. ; extern OSErr Q3ViewerCursorChanged(TQ3ViewerObject theViewer)
  409. ;
  410.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  411.         IMPORT_CFM_FUNCTION Q3ViewerCursorChanged
  412.     ENDIF
  413.  
  414.  
  415. ; ******************************************************************************
  416. ; **                                                                             **
  417. ; **        Returns the state of the viewer.  See the constant defined at the     **
  418. ; **        top of this file.                                                     **
  419. ; **                                                                             **
  420. ; ****************************************************************************
  421.  
  422. ;
  423. ; extern unsigned long Q3ViewerGetState(TQ3ViewerObject theViewer)
  424. ;
  425.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  426.         IMPORT_CFM_FUNCTION Q3ViewerGetState
  427.     ENDIF
  428.  
  429. ; ******************************************************************************
  430. ; **                                                                             **
  431. ; **                            Clipboard utilities                                 **
  432. ; **                                                                             **
  433. ; ****************************************************************************
  434.  
  435. ;
  436. ; extern OSErr Q3ViewerClear(TQ3ViewerObject theViewer)
  437. ;
  438.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  439.         IMPORT_CFM_FUNCTION Q3ViewerClear
  440.     ENDIF
  441.  
  442. ;
  443. ; extern OSErr Q3ViewerCut(TQ3ViewerObject theViewer)
  444. ;
  445.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  446.         IMPORT_CFM_FUNCTION Q3ViewerCut
  447.     ENDIF
  448.  
  449. ;
  450. ; extern OSErr Q3ViewerCopy(TQ3ViewerObject theViewer)
  451. ;
  452.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  453.         IMPORT_CFM_FUNCTION Q3ViewerCopy
  454.     ENDIF
  455.  
  456. ;
  457. ; extern OSErr Q3ViewerPaste(TQ3ViewerObject theViewer)
  458. ;
  459.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  460.         IMPORT_CFM_FUNCTION Q3ViewerPaste
  461.     ENDIF
  462.  
  463.     ENDIF    ; TARGET_OS_MAC
  464.  
  465.  
  466.  
  467.     ENDIF ; __QD3DVIEWER__ 
  468.  
  469.